[CA-39] Add AppSignal instrumentation (v0.3.0)#19
Conversation
- Add transaction tracking for AppSignal (>= 2.0, < 4.0) - Add transaction tracking for Sentry (>= 4.1.0) - Support simultaneous instrumentation in both APM tools - Add observability configuration (appsignal_enabled, sentry_enabled) - Add comprehensive unit tests for APM instrumentation - Update documentation with usage examples - Bump version to 0.3.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
hieuk09
left a comment
There was a problem hiding this comment.
Overall LGTM, only one nit.
lib/idempotency.rb
Outdated
| instrumented_block = block | ||
|
|
||
| # Wrap with Sentry if enabled | ||
| if config.observability.sentry_enabled && defined?(Sentry) |
There was a problem hiding this comment.
Could we do the Sentry check at load time? Like when sentry_enabled is turned on 🤔
There was a problem hiding this comment.
At that point, we may require the library & check for version to ensure that we don't use outdated version.
|
We push the event successfully to Appsignal https://appsignal.com/kaligo/sites/5d9414aa74782013d384396a/performance/incidents/35/samples/5d9414aa74782013d384396a-37299000940492997941763102760 I am verifying if current syntax are correct, then will resolve the comments 🧑🤝🧑 |
ca101b1 to
078e87f
Compare
4d82d63 to
ee755e1
Compare
vu-hoang-kaligo
left a comment
There was a problem hiding this comment.
Overall LGTM, only some small nits
vu-hoang-kaligo
left a comment
There was a problem hiding this comment.
Can test the implementation after we remove Sentry info 🚀
README.md
Outdated
| #### Sentry | ||
|
|
||
| The gem can add the `use_cache` method to Sentry performance traces when enabled. This allows you to see the idempotency check as part of your request traces and automatically captures any errors that occur. | ||
|
|
||
| To enable Sentry transaction tracking: | ||
|
|
||
| ```ruby | ||
| Idempotency.configure do |config| | ||
| config.observability.sentry_enabled = true | ||
| end | ||
| ``` |
There was a problem hiding this comment.
forgot to remove Sentry-related info here :keke:

Summary
appsignal_enabled)Changes
use_cachemethodmonitor_transactionto add method to trace stacksconfig.observabilitysettings for enabling APM toolsTesting
Backward Compatibility
false)🤖 Generated with Claude Code